Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.sql
Class Timestamp

    java.lang.Object
      |
      +--java.util.Date
            |
            +--java.sql.Timestamp

All Implemented Interfaces:
  Cloneable, Comparable, Serializable

public class Timestamp
extends Date

A thin wrapper around `java.util.Date` that allows the JDBC API to identify this as an SQL `TIMESTAMP` value. It adds the ability to hold the SQL `TIMESTAMP` nanos value and provides formatting and parsing operations to support the JDBC escape syntax for timestamp values.

Note: This type is a composite of a `java.util.Date` and a separate nanoseconds value. Only integral seconds are stored in the `java.util.Date` component. The fractional seconds - the nanos - are separate. The `getTime` method will return only integral seconds. If a time value that includes the fractional seconds is desired, you must convert nanos to milliseconds (nanos/1000000) and add this to the `getTime` value. The `Timestamp.equals(Object)` method never returns `true` when passed a value of type `java.util.Date` because the nanos component of a date is unknown. As a result, the `Timestamp.equals(Object)` method is not symmetric with respect to the `java.util.Date.equals(Object)` method. Also, the `hashcode` method uses the underlying `java.util.Data` implementation and therefore does not include nanos in its computation. Due to the differences between the `Timestamp` class and the `java.util.Date` class mentioned above, it is recommended that code not view `Timestamp` values generically as an instance of `java.util.Date`. The inheritance relationship between `Timestamp` and `java.util.Date` really denotes implementation inheritance, and not type inheritance.

See Also:
  Serialized Form

Constructor Summary
`Timestamp(int year, int month, int date, int hour, int minute, int second, int nano)` Deprecated. instead use the constructor `Timestamp(long millis)`
`Timestamp(long time)` Constructs a `Timestamp` object using a milliseconds time value.

Method Summary
`boolean` | `after(Timestamp ts)` Indicates whether this `Timestamp` object is later than the given `Timestamp` object.
`boolean` | `before(Timestamp ts)` Indicates whether this `Timestamp` object is earlier than the given `Timestamp` object.
`int` | `compareTo(Object o)` Compares this Timestamp to another Object.
`int` | `compareTo(Timestamp ts)` Compares two Timestamps for ordering.
`boolean` | `equals(Object ts)` Tests to see if this `Timestamp` object is equal to the given object.
`boolean` | `equals(Timestamp ts)` Tests to see if this `Timestamp` object is equal to the given `Timestamp` object.
`int` | `getNanos()` Gets this `Timestamp` object's `nanos` value.
`long` | `getTime()` Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this `Timestamp` object.
`void` | `setNanos(int n)` Sets this `Timestamp` object's `nanos` field to the given value.
`void` | `setTime(long time)` Sets this `Timestamp` object to represent a point in time that is `time` milliseconds after January 1, 1970 00:00:00 GMT.
`String` | `toString()` Formats a timestamp in JDBC timestamp escape format.
`static Timestamp` | `valueOf(String s)` Converts a `String` object in JDBC timestamp escape format to a `Timestamp` value.

Methods inherited from class java.util.Date
`after, before, clone, compareTo, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTimezoneOffset, getYear, hashCode, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setYear, toGMTString, toLocaleString, UTC`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Timestamp

    public Timestamp(int year,
                     int month,
                     int date,
                     int hour,
                     int minute,
                     int second,
                     int nano)

  Deprecated. instead use the constructor `Timestamp(long millis)`

  Constructs a `Timestamp` object initialized with the given values.

Parameters:
  `year` - the year minus 1900
  `month` - 0 to 11
  `date` - 1 to 31
  `hour` - 0 to 23
  `minute` - 0 to 59
  `second` - 0 to 59
  `nano` - 0 to 999,999,999
Throws:
  `IllegalArgumentException` - if the nano argument is out of bounds

### Timestamp

    public Timestamp(long time)

  Constructs a `Timestamp` object using a milliseconds time value. The integral seconds are stored in the underlying date value; the fractional seconds are stored in the `nanos` field of the `Timestamp` object.

Parameters:
  `time` - milliseconds since January 1, 1970, 00:00:00 GMT. A negative number is the number of milliseconds before January 1, 1970, 00:00:00 GMT.
See Also:
  `for more information`

Method Detail

### setTime

    public void setTime(long time)

  Sets this `Timestamp` object to represent a point in time that is `time` milliseconds after January 1, 1970 00:00:00 GMT.

  Overrides:
    `setTime` in class `Date`
  Parameters:
    `time` - the number of milliseconds.
  See Also:
    `getTime()`, `Timestamp(long time)`, `for more information`

### getTime

    public long getTime()

  Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this `Timestamp` object.

  Overrides:
    `getTime` in class `Date`
  Returns:
    the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this date.
  See Also:
    `setTime(long)`

### valueOf

    public static Timestamp valueOf(String s)

  Converts a `String` object in JDBC timestamp escape format to a `Timestamp` value.

  Parameters:
    `s` - timestamp in format `yyyy-mm-dd hh:mm:ss.fffffffff`
  Returns:
    corresponding `Timestamp` value
  Throws:
    `IllegalArgumentException` - if the given argument does not have the format `yyyy-mm-dd hh:mm:ss.fffffffff`

### toString

    public String toString()

  Formats a timestamp in JDBC timestamp escape format.

  Overrides:
    `toString` in class `Date`
  Returns:
    a `String` object in `yyyy-mm-dd hh:mm:ss.fffffffff` format
  See Also:
    `Date.toLocaleString()`, `Date.toGMTString()`

### getNanos

    public int getNanos()

  Gets this `Timestamp` object's `nanos` value.

  Returns:
    this `Timestamp` object's fractional seconds component
  See Also:
    `setNanos(int)`

### setNanos

    public void setNanos(int n)

  Sets this `Timestamp` object's `nanos` field to the given value.

  Parameters:
    `n` - the new fractional seconds component
  Throws:
    `IllegalArgumentException` - if the given argument is greater than 999999999 or less than 0
  See Also:
    `getNanos()`

### equals

    public boolean equals(Timestamp ts)

  Tests to see if this `Timestamp` object is equal to the given `Timestamp` object.

  Parameters:
    `ts` - the `Timestamp` value to compare with
  Returns:
    `true` if the given `Timestamp` object is equal to this `Timestamp` object; `false` otherwise

### equals

    public boolean equals(Object ts)

  Tests to see if this `Timestamp` object is equal to the given object. This version of the method `equals` has been added to fix the incorrect signature of `Timestamp.equals(Timestamp)` and to preserve backward compatibility with existing class files. Note: This method is not symmetric with respect to the `equals(Object)` method in the base class.

  Overrides:
    `equals` in class `Date`
  Parameters:
    `ts` - the `Object` value to compare with
  Returns:
    `true` if the given `Object` instance is equal to this `Timestamp` object; `false` otherwise
  See Also:
    `Date.getTime()`

### before

    public boolean before(Timestamp ts)

  Indicates whether this `Timestamp` object is earlier than the given `Timestamp` object.

  Parameters:
    `ts` - the `Timestamp` value to compare with
  Returns:
    `true` if this `Timestamp` object is earlier; `false` otherwise

### after

    public boolean after(Timestamp ts)

  Indicates whether this `Timestamp` object is later than the given `Timestamp` object.

  Parameters:
    `ts` - the `Timestamp` value to compare with
  Returns:
    `true` if this `Timestamp` object is later; `false` otherwise

### compareTo

    public int compareTo(Timestamp ts)

  Compares two Timestamps for ordering.

  Parameters:
    `ts` - the `Timestamp` to be compared.
  Returns:
    the value `0` if the argument Timestamp is equal to this Timestamp; a value less than `0` if this Timestamp is before the Date argument; and a value greater than `0` if this Timestamp is after the Timestamp argument.
  Since:
    1.2

### compareTo

    public int compareTo(Object o)

  Compares this Timestamp to another Object. If the Object is a Date, this function behaves like compareTo(Timestamp). Otherwise, it throws aClassCastException (as Timestamps are comparable only to other Timestamps)

  Specified by:
    `compareTo` in interface `Comparable`
  Overrides:
    `compareTo` in class `Date`
  Parameters:
    `o` - the `object` to be compared
  Returns:
    the value `0` if the argument is a Timestamp equal to this Timestamp; a value less than `0` if the argument is a Timestamp after this Timestamp; and a value greater than `0` if the argument is a Timestamp before this Timestamp.
  Throws:
    `ClassCastException` - if the argument is not a `Timestamp`.
  See Also:
    `Comparable`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.